#region Usings

using System;

using DotNetNuke.Common;
using DotNetNuke.Entities.Modules;
using DotNetNuke.Modules.Dashboard.Components;
using DotNetNuke.Services.Exceptions;
using DotNetNuke.Services.Localization;
using DotNetNuke.UI.Skins.Controls;

#endregion

namespace DotNetNuke.Modules.Admin.Dashboard
{

    public partial class Export : PortalModuleBase
    {

        #region Event Handlers

        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);

            cmdCancel.NavigateUrl = Globals.NavigateURL();
            cmdSave.Click += OnSaveClick;

            if (!UserInfo.IsSuperUser)
            {
                Response.Redirect(Globals.NavigateURL("Access Denied"), true);
            }
        }

        protected void OnSaveClick(object sender, EventArgs e)
        {
            try
            {
                string fileName = txtFileName.Text;
                if (!fileName.EndsWith(".xml"))
                {
                    fileName += ".xml";
                }
                DashboardController.Export(fileName);

                UI.Skins.Skin.AddModuleMessage(this, string.Format(Localization.GetString("Success", LocalResourceFile), fileName), ModuleMessage.ModuleMessageType.GreenSuccess);
            }
            catch (Exception ex)
            {
                Exceptions.ProcessModuleLoadException(this, ex);
            }
        }

        #endregion

    }
}